{}
rule string2string str length = parse
|"\\\\" { string2string (str ^ "\\5C") (length+1) lexbuf }
|"\\n"  { string2string (str ^ "\\0A") (length+1) lexbuf }
|"\\t"  { string2string (str ^ "\\09") (length+1) lexbuf }
|"\\\""  { string2string  (str ^ "\\22") (length+1) lexbuf }
|"\""  { string2string  str length lexbuf }
|eof { (str, length) }
|_ as s { string2string  (str ^ Char.escaped s) (length+1) lexbuf }

